Probabilistically Accurate Program Transformations
نویسندگان
چکیده
The standard approach to program transformation involves the use of discrete logical reasoning to prove that the transformation does not change the observable semantics of the program. We propose a new approach that, in contrast, uses probabilistic reasoning to justify the application of transformations that may change, within probabilistic accuracy bounds, the result that the program produces. Our new approach produces probabilistic guarantees of the form P(|D| ≥ B) ≤ , ∈ (0, 1), where D is the difference between the results that the transformed and original programs produce, B is an acceptability bound on the absolute value of D, and is the maximum acceptable probability of observing large |D|. We show how to use our approach to justify the application of loop perforation (which transforms loops to execute fewer iterations) to a set of computational patterns.
منابع مشابه
On Dinur’s Proof of the Pcp Theorem
Probabilistically checkable proofs are proofs that can be checked probabilistically by reading very few bits of the proof. In the early 1990s, it was shown that proofs could be transformed into probabilistically checkable ones with only a modest increase in their length. The initial transformations, though elementary, were a little too complex. A recent work due to Irit Dinur gives a dramatical...
متن کاملComposing Inference Algorithms as Program Transformations
Probabilistic inference procedures are usually coded painstakingly from scratch, for each target model and each inference algorithm. We reduce this effort by generating inference procedures from models automatically. We make this code generation modular by decomposing inference algorithms into reusable program-toprogram transformations. These transformations perform exact inference as well as g...
متن کاملCompilation Support for Fine-grained Execution Time Analysis
This paper discusses the problem of calculating accurate source-level execution time bounds for real-time programs in the presence of code-improving transformations. The description fo-cuses on the compiler's role of collection information about the structure of the program and the execution times of its basic components, and on the problem of maintaining the accuracy of this information in the...
متن کاملAccuracy-Aware Program Transformations
Program approximation has been accepted as a necessary and useful technique for solving time-consuming computational problems since the inception of computer science. However, for a long time it has been treated exclusively as an algorithmic problem – a domain expert, computer scientist, or a developer has been responsible for proposing, implementing, and evaluating approximate algorithms. Up t...
متن کاملPROARTIS: Probabilistically Analysable Real-Time Systems
Static Timing Analysis is the state-of-the-art practice to ascertain the timing behaviour of current-generation real-time embedded systems. The adoption of more complex hardware to respond to the increasing demand for computing power in nextgeneration systems exacerbates some of the limitations of Static Timing Analysis. In particular, the effort of acquiring (1) detail information on the hardw...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011